package com.ccgk.logistics.service;

import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.ccgk.common.page.PaginationVo;
import com.ccgk.logistics.domain.Company;
import com.ccgk.logistics.service.UserService.UserCriteria;

public interface CompanyService{
	
	static class CompanyCriteria{
		private Map<Integer,Object> params = new HashMap<Integer,Object>();
		
		public CompanyCriteria nameLike(String name){
			params.put(1,name);
			return this;
		}
		
		public Map<Integer,Object> getParams(){
			return Collections.unmodifiableMap(params);
		}
	}
	
	Integer add(Company company);
	
	Company getById(int id);
	
	List<Company> findAll();
	
	Integer update(Company company);
	
	Integer delete(int id);
	
	PaginationVo<Company> findList(CompanyCriteria criteria, int currentPage,
			int pageSize);

	void batchDelete(Integer[] idIntArray);
	
	Company getByName(String name);

	List<Company> findByName(String name);
	
	List<Company> findByType(String type);
}
